Conventional networking equipment has limits (e.g., hardware related limits) associated with data throughput, e.g., a number of data units (e.g., frames or packets) that can be handled per second. Sometimes users, e.g., network operators, may want to exceed these limits. For example, throughput limits can be easily reached when attempting to generate or process a large amount of traffic for high speed and/or high bandwidth networks. Hence, when using equipment or systems in high speed and/or high bandwidth networks, numerous resources (e.g., multiple servers and/or routers) may be needed to provide or process a suitable amount of traffic, which can be expensive.
Some techniques exist to decrease processing overhead associated with a large amount of packets, such as large segment offload (LSO) and large receive offload (LRO). However, such techniques are inefficient and/or incapable of offloading packets or data units in various network scenarios. For example, these techniques generally discard information in the offloaded packets that can be difficult or even impossible to recreate in various network scenarios. Moreover, these techniques are generally tied to a single protocol or only offload packets associated with the same session.
Accordingly, in light of these difficulties, a need exists for improved methods, systems, and computer readable media for processing data units.